JSON এবং XML Parsing

Mobile App Development - কটলিন (Kotlin) - Kotlin Serialization এবং Data Handling
421

ডেটা স্টোরেজ এবং স্থানান্তরের জন্য JSON (JavaScript Object Notation) এবং XML (eXtensible Markup Language) দুটি জনপ্রিয় ফরম্যাট। কটলিনে JSON এবং XML Parsing খুবই গুরুত্বপূর্ণ, বিশেষ করে যখন আপনাকে API থেকে ডেটা নিতে হয় বা বিভিন্ন ফাইল ফরম্যাটের সাথে কাজ করতে হয়। 

JSON এবং XML Parsing

নিচে JSON এবং XML Parsing নিয়ে বিস্তারিত আলোচনা করা হলো।


১. JSON Parsing

JSON একটি হালকা ওজনের ডেটা বিন্যাস যা সহজে পড়া এবং লিখা যায় এবং প্রোগ্রামিং ভাষাগুলোর মধ্যে সহজেই স্থানান্তর করা যায়। কটলিনে JSON Parsing এর জন্য সাধারণত kotlinx.serialization লাইব্রেরি বা Gson ব্যবহৃত হয়।

i) kotlinx.serialization ব্যবহার করে JSON Parsing

Dependency যুক্ত করা:

Gradle এর build.gradle.kts ফাইলে নিম্নলিখিত ডিপেন্ডেন্সি যুক্ত করুন:

dependencies {
    implementation("org.jetbrains.kotlinx:kotlinx-serialization-json:1.5.0")
}

Kotlin Data Class তৈরি করুন:

import kotlinx.serialization.Serializable

@Serializable
data class User(val name: String, val age: Int)

JSON Parsing উদাহরণ:

import kotlinx.serialization.decodeFromString
import kotlinx.serialization.json.Json

fun main() {
    val jsonString = """{"name":"Alice","age":30}"""

    // JSON Parsing
    val user = Json.decodeFromString<User>(jsonString)
    println("Name: ${user.name}, Age: ${user.age}") // আউটপুট: Name: Alice, Age: 30
}

ব্যাখ্যা:

  • @Serializable annotation ব্যবহার করে ক্লাসটি Serializable হিসেবে চিহ্নিত করা হয়েছে।
  • Json.decodeFromString ফাংশন ব্যবহার করে JSON স্ট্রিংকে User অবজেক্টে রূপান্তর করা হয়েছে।

ii) Gson ব্যবহার করে JSON Parsing

Dependency যুক্ত করা:

Gradle এর build.gradle.kts ফাইলে নিম্নলিখিত ডিপেন্ডেন্সি যুক্ত করুন:

dependencies {
    implementation("com.google.code.gson:gson:2.8.8")
}

JSON Parsing উদাহরণ:

import com.google.gson.Gson

data class User(val name: String, val age: Int)

fun main() {
    val jsonString = """{"name":"Bob","age":25}"""

    // JSON Parsing
    val gson = Gson()
    val user = gson.fromJson(jsonString, User::class.java)

    println("Name: ${user.name}, Age: ${user.age}") // আউটপুট: Name: Bob, Age: 25
}

ব্যাখ্যা:

  • এখানে Gson লাইব্রেরি ব্যবহার করে JSON স্ট্রিংকে User অবজেক্টে রূপান্তর করা হয়েছে।

২. XML Parsing

XML হলো একটি মার্কআপ ভাষা যা ডেটা বিন্যাসের জন্য ব্যবহৃত হয়। কটলিনে XML Parsing করার জন্য সাধারণত Simple XML বা Kotlinx.serialization লাইব্রেরি ব্যবহার করা হয়।

i) Simple XML ব্যবহার করে XML Parsing

Dependency যুক্ত করা:

Gradle এর build.gradle.kts ফাইলে নিম্নলিখিত ডিপেন্ডেন্সি যুক্ত করুন:

dependencies {
    implementation("org.simpleframework:simple-xml:2.7.1")
}

Kotlin Data Class তৈরি করুন:

import org.simpleframework.xml.Element
import org.simpleframework.xml.Root

@Root(name = "user")
data class User(
    @field:Element(name = "name")
    var name: String = "",

    @field:Element(name = "age")
    var age: Int = 0
)

XML Parsing উদাহরণ:

import org.simpleframework.xml.Serializer
import org.simpleframework.xml.core.Persister

fun main() {
    val xmlString = "<user><name>Alice</name><age>30</age></user>"

    // XML Parsing
    val serializer: Serializer = Persister()
    val user = serializer.read(User::class.java, xmlString)

    println("Name: ${user.name}, Age: ${user.age}") // আউটপুট: Name: Alice, Age: 30
}

ব্যাখ্যা:

  • @Root এবং @Element অ্যানোটেশন ব্যবহার করে XML স্ট্রাকচার ডিফাইন করা হয়েছে।
  • Persister ব্যবহার করে XML স্ট্রিংকে User অবজেক্টে রূপান্তর করা হয়েছে।

ii) Kotlinx.serialization ব্যবহার করে XML Parsing

Dependency যুক্ত করা:

Gradle এর build.gradle.kts ফাইলে নিম্নলিখিত ডিপেন্ডেন্সি যুক্ত করুন:

dependencies {
    implementation("org.jetbrains.kotlinx:kotlinx-serialization-xml:0.2.0")
}

XML Parsing উদাহরণ:

import kotlinx.serialization.Serializable
import kotlinx.serialization.xml.Xml

@Serializable
data class User(val name: String, val age: Int)

fun main() {
    val xmlString = "<user><name>Bob</name><age>25</age></user>"

    // XML Parsing
    val user = Xml.decodeFromString<User>(xmlString)

    println("Name: ${user.name}, Age: ${user.age}") // আউটপুট: Name: Bob, Age: 25
}

ব্যাখ্যা:

  • @Serializable অ্যানোটেশন ব্যবহার করে XML ডেটা মডেল তৈরি করা হয়েছে।
  • Xml.decodeFromString ফাংশন ব্যবহার করে XML স্ট্রিংকে User অবজেক্টে রূপান্তর করা হয়েছে।

উপসংহার

কটলিনে JSON এবং XML Parsing করার জন্য বিভিন্ন লাইব্রেরি এবং পদ্ধতি রয়েছে। kotlinx.serialization এবং Gson JSON Parsing-এর জন্য এবং Simple XML বা kotlinx.serialization XML Parsing-এর জন্য ব্যবহার করা যায়। এই লাইব্রেরিগুলো ব্যবহার করে ডেটা বিন্যাসের কার্যকারিতা সহজে এবং কার্যকরভাবে পরিচালনা করা যায়।

Content added By
Promotion
NEW SATT AI এখন আপনাকে সাহায্য করতে পারে।

Are you sure to start over?

Loading...